using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Rotempco.Core.ORM.Logic;
using System.Linq.Expressions;
using Rotempco.Core.ORM.Objects.Enums;

namespace Rotempco.Core.ORM.Objects
{
    public class ORMContainer<T>
    {
        public List<ORMParameter> ORMParameterMappingList { get; private set; }

        public ORMContainer()
        {
            ORMParameterMappingList = new List<ORMParameter>();
        }

        public void Add<TReturn>(string databaseColumnName, Expression<Func<T, TReturn>> parameterName, EncryptionTypeEnum encryptionType = EncryptionTypeEnum.ClearText, bool deletedProperty = false, bool serializableObject = false)
        {
            ORMParameterMappingList.Add(new ORMParameter(databaseColumnName, SymbolExtensions.GetPropertyPair(parameterName), encryptionType, deletedProperty, serializableObject));
        }
    }
}
